#ifndef _EMITTER_H_
#define _EMITTER_H_

#include "../cuCommon/cuTypes.h"

#include "RegularGrid.h"

struct SEmitter
{
    float3      position;
    float3      velocity;
    bool        m_Active;
};

SH_CALL
SEmitter * Emitter(SEmitter * pEmitter, float3 position, uint32 n = 100)
{
    if (pEmitter != NULL)
    {
        pEmitter->position = position;
        
        pEmitter->m_Active = false;
    }

    return pEmitter;
}

SH_CALL
void Activate(SEmitter * pEmitter, float3 velocity)
{
    if (pEmitter != NULL)
    {
        pEmitter->m_Active = true;
        pEmitter->velocity = velocity;
    }
}

SH_CALL
void Deactivate(SEmitter * pEmitter)
{
    if (pEmitter != NULL)
    {
        pEmitter->m_Active = false;
    }
}

SH_CALL
void Restart(SEmitter *pEmitter)
{
    if (pEmitter != NULL)
    {
    }
}

SH_CALL
void Release(SEmitter *pEmitter)
{
}

#endif